Pen-based computers in which the pen replaces the key-board and/or mouse as the primary input device have become well known. Such systems provide a digitizing pad and pen for the user to input information. The information is input in the form of traces or graphic representations of traces. The computer monitors the movement of the pen and creates a trace when the pen comes within a predefined proximity of or in contact with the digitizing pad. The computer follows the movement of the pen across the digitizing pad while simultaneously extending the trace, and ends the trace when the pen is removed or moved out of proximity from the digitizing pad.
A number of systems for electronically capturing, manipulating, and displaying handwritten traces are known. These systems capture traces and group the traces into characters, sub-words, words, sentences and so on. One current solution captures, overlay traces, and interprets traces as text. However, this solution requires that the capture area be predefined. Consequently, this solution does not accommodate ink stream input outside the predefined writing area. The term “ink stream” refers to a series of a sequence of drawn traces. The ink stream is generated by a digitizer in a sequence of traces.
In addition, when filling out in the predefined capture area, a user is generally confronted with very small regions, as these regions are designed to receive text from a keyboard. Further, this technique can result in problems, such as (1) not being able to write in place, (2) inefficient use of an active area of a digitizer, which can require allocating separate predefined capture areas for writing and displaying, (3) requiring to define boxes (predefined writing areas) so that the characters, subwords, and/or words can be entered in the boxes, (4) inability of these boxes to accommodate larger writing styles of users, and so on. Therefore, this technique can result in requiring large writing areas to accommodate all writing styles of different users. In addition, the writing areas required to write text units can vary widely for different scripts. Furthermore, in a digital document, where the ink stream follows a random pattern, it is difficult to allocate separate predefined writing areas as they follow no pattern.
Another current solution analyzes ink stream using complex algorithms. Such algorithms require relatively structured ink stream input in order to function in an acceptable manner. For example, users of such systems typically are admonished to “write neatly”, “write between the lines” in a horizontal orientation, and/or write in a specified ink stream input area. Failure to follow these instructions may cause recognition error or other error when the ink stream is presented to an associated handwriting recognition engine. Also, some users can quickly become frustrated with these errors and limitations of the system.
Another current solution groups traces using a lasso tool after the handwritten traces are completed. However, this solution requires the user to explicitly select the group after completing the handwritten traces. There is also another solution that dynamically groups a growing sequence of traces by resizing the predefined capture area radially outwards. However, it can only accommodate traces that start within the predefined capture area. This solution cannot support grouping of traces that start outside the current predefined capture area. In addition, the inking and rendering of the traces are interrupted when using this technique. Furthermore, the solution only allows grouping of traces that are inside the predefined capture area and does not address segmentation of a drawn ink stream that falls outside the predefined capture area.